/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved.
 * File name     :  c_union_define_smag_cfg.h
 * Date          :  2020/3/5
 * Description   :  the definition of smg reg
 */

#ifndef C_UNION_DEFINE_SMAG_CFG_H
#define C_UNION_DEFINE_SMAG_CFG_H

/* Define the union u_smag_mode */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int loop4_mode : 1;                /* [0]  */
        unsigned int loop5_mode : 1;                /* [1]  */
        unsigned int loop6_mode : 1;                /* [2]  */
        unsigned int cfg_rxdp_pkt_dis : 1;          /* [3]  */
        unsigned int mag_mfs_sch_calendar_vld : 16; /* [19..4]  */
        unsigned int loop5_mode_port : 4;           /* [23..20]  */
        unsigned int smag_version : 8;              /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_mode;

/* Define the union u_smag2mac_sig_detect */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int axis_tx_tready_max_num : 4; /* [3..0]  */
        unsigned int axis_tx_tready_max_hit : 4; /* [7..4]  */
        unsigned int p0_axis_tx_tready_max : 4;  /* [11..8]  */
        unsigned int p1_axis_tx_tready_max : 4;  /* [15..12]  */
        unsigned int p2_axis_tx_tready_max : 4;  /* [19..16]  */
        unsigned int p3_axis_tx_tready_max : 4;  /* [23..20]  */
        unsigned int reserved_0 : 8;             /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag2mac_sig_detect;

/* Define the union u_smag2mac_tx0_dfx_0 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag2mac_sop_cnt_0 : 16; /* [15..0]  */
        unsigned int smag2mac_eop_cnt_0 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag2mac_tx0_dfx_0;

/* Define the union u_smag2mac_tx0_dfx_1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag2mac_vld_cnt_0 : 16; /* [15..0]  */
        unsigned int tx_afifo_rd_trig_0 : 5;  /* [20..16]  */
        unsigned int reserved_0 : 11;         /* [31..21]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag2mac_tx0_dfx_1;

/* Define the union u_smag_int_status */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_sop_eop_int : 1; /* [0]  */
        unsigned int p1_sop_eop_int : 1; /* [1]  */
        unsigned int p2_sop_eop_int : 1; /* [2]  */
        unsigned int p3_sop_eop_int : 1; /* [3]  */
        unsigned int p4_sop_eop_int : 1; /* [4]  */
        unsigned int p5_sop_eop_int : 1; /* [5]  */
        unsigned int p6_sop_eop_int : 1; /* [6]  */
        unsigned int p7_sop_eop_int : 1; /* [7]  */
        unsigned int reserved_0 : 24;    /* [31..8]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_int_status;

/* Define the union u_tx0_afifo_dfx_0 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int tx_afifo_sop_cnt_0 : 16; /* [15..0]  */
        unsigned int tx_afifo_eop_cnt_0 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_tx0_afifo_dfx_0;

/* Define the union u_tx0_afifo_dfx_1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int tx_afifo_vld_cnt_0 : 16; /* [15..0]  */
        unsigned int cnt_afifo_w_cnt_0 : 16;  /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_tx0_afifo_dfx_1;

/* Define the union u_smag_rx_tx_en */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag_rx_en : 8; /* [7..0]  */
        unsigned int smag_tx_en : 8; /* [15..8]  */
        unsigned int rsvd_cfg : 16;  /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_rx_tx_en;

/* Define the union u_smag_int_mask */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_sop_eop_int_msk : 1; /* [0]  */
        unsigned int p1_sop_eop_int_msk : 1; /* [1]  */
        unsigned int p2_sop_eop_int_msk : 1; /* [2]  */
        unsigned int p3_sop_eop_int_msk : 1; /* [3]  */
        unsigned int p4_sop_eop_int_msk : 1; /* [4]  */
        unsigned int p5_sop_eop_int_msk : 1; /* [5]  */
        unsigned int p6_sop_eop_int_msk : 1; /* [6]  */
        unsigned int p7_sop_eop_int_msk : 1; /* [7]  */
        unsigned int reserved_0 : 24;        /* [31..8]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_int_mask;

/* Define the union u_smag_int_set */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_sop_eop_int_set : 1; /* [0]  */
        unsigned int p1_sop_eop_int_set : 1; /* [1]  */
        unsigned int p2_sop_eop_int_set : 1; /* [2]  */
        unsigned int p3_sop_eop_int_set : 1; /* [3]  */
        unsigned int p4_sop_eop_int_set : 1; /* [4]  */
        unsigned int p5_sop_eop_int_set : 1; /* [5]  */
        unsigned int p6_sop_eop_int_set : 1; /* [6]  */
        unsigned int p7_sop_eop_int_set : 1; /* [7]  */
        unsigned int reserved_0 : 24;        /* [31..8]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_int_set;

/* Define the union u_smag_mac_debug */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int mac_rx_cnt_min_0 : 4;     /* [3..0]  */
        unsigned int mac_rx_cnt_min_1 : 4;     /* [7..4]  */
        unsigned int mac_rx_cnt_min_2 : 4;     /* [11..8]  */
        unsigned int mac_rx_cnt_min_3 : 4;     /* [15..12]  */
        unsigned int mac_glitch_pkt_cnt_0 : 4; /* [19..16]  */
        unsigned int mac_glitch_pkt_cnt_1 : 4; /* [23..20]  */
        unsigned int mac_glitch_pkt_cnt_2 : 4; /* [27..24]  */
        unsigned int mac_glitch_pkt_cnt_3 : 4; /* [31..28]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_mac_debug;

/* Define the union u_smag_ipsurx_err_debug0 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int pkt_loss_eop_err : 16; /* [15..0]  */
        unsigned int pkt_loss_sop_err : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_ipsurx_err_debug0;

/* Define the union u_smag_ipsurx_err_debug1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int pkt_nop_vld_err : 16; /* [15..0]  */
        unsigned int reserved_0 : 16;      /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_ipsurx_err_debug1;

/* Define the union u_smag_chan_xoff_debug */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int chan_xoff_min : 16;         /* [15..0]  */
        unsigned int chan_xoff_min_cos_sel : 3;  /* [18..16]  */
        unsigned int reserved_0 : 1;             /* [19]  */
        unsigned int chan_xoff_min_port_sel : 2; /* [21..20]  */
        unsigned int reserved_1 : 10;            /* [31..22]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_chan_xoff_debug;

/* Define the union u_smag_pe_dfx_p00 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int pe2mag_sop_cnt_0 : 16; /* [15..0]  */
        unsigned int pe2mag_eop_cnt_0 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_pe_dfx_p00;

/* Define the union u_smag_pe_dfx_p01 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int pe2mag_vld_cnt_0 : 16;         /* [15..0]  */
        unsigned int pe2mag_longest_pkt_cnt_0 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_pe_dfx_p01;

/* Define the union u_smag_pe_dfx_p10 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int pe2mag_sop_cnt_1 : 16; /* [15..0]  */
        unsigned int pe2mag_eop_cnt_1 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_pe_dfx_p10;

/* Define the union u_smag_pe_dfx_p11 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int pe2mag_vld_cnt_1 : 16;         /* [15..0]  */
        unsigned int pe2mag_longest_pkt_cnt_1 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_pe_dfx_p11;

/* Define the union u_smag_pe_dfx_p20 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int pe2mag_sop_cnt_2 : 16; /* [15..0]  */
        unsigned int pe2mag_eop_cnt_2 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_pe_dfx_p20;

/* Define the union u_smag_pe_dfx_p21 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int pe2mag_vld_cnt_2 : 16;         /* [15..0]  */
        unsigned int pe2mag_longest_pkt_cnt_2 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_pe_dfx_p21;

/* Define the union u_smag_pe_dfx_p30 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int pe2mag_sop_cnt_3 : 16; /* [15..0]  */
        unsigned int pe2mag_eop_cnt_3 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_pe_dfx_p30;

/* Define the union u_smag_pe_dfx_p31 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int pe2mag_vld_cnt_3 : 16;         /* [15..0]  */
        unsigned int pe2mag_longest_pkt_cnt_3 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_pe_dfx_p31;

/* Define the union u_smag_cnt_fifo_0 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int cnt_fifo_wcnt_0 : 11; /* [10..0]  */
        unsigned int reserved_0 : 5;       /* [15..11]  */
        unsigned int cnt_fifo_wcnt_1 : 11; /* [26..16]  */
        unsigned int reserved_1 : 5;       /* [31..27]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_cnt_fifo_0;

/* Define the union u_smag_cnt_fifo_1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int cnt_fifo_wcnt_2 : 11; /* [10..0]  */
        unsigned int reserved_0 : 5;       /* [15..11]  */
        unsigned int cnt_fifo_wcnt_3 : 11; /* [26..16]  */
        unsigned int reserved_1 : 5;       /* [31..27]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_cnt_fifo_1;

/* Define the union u_smag2mac_tx1_dfx_0 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag2mac_sop_cnt_1 : 16; /* [15..0]  */
        unsigned int smag2mac_eop_cnt_1 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag2mac_tx1_dfx_0;

/* Define the union u_smag2mac_tx1_dfx_1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag2mac_vld_cnt_1 : 16; /* [15..0]  */
        unsigned int tx_afifo_rd_trig_1 : 5;  /* [20..16]  */
        unsigned int reserved_0 : 11;         /* [31..21]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag2mac_tx1_dfx_1;

/* Define the union u_tx1_afifo_dfx_0 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int tx_afifo_sop_cnt_1 : 16; /* [15..0]  */
        unsigned int tx_afifo_eop_cnt_1 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_tx1_afifo_dfx_0;

/* Define the union u_tx1_afifo_dfx_1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int tx_afifo_vld_cnt_1 : 16; /* [15..0]  */
        unsigned int cnt_afifo_w_cnt_1 : 16;  /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_tx1_afifo_dfx_1;

/* Define the union u_smag2mac_tx2_dfx_0 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag2mac_sop_cnt_2 : 16; /* [15..0]  */
        unsigned int smag2mac_eop_cnt_2 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag2mac_tx2_dfx_0;

/* Define the union u_smag2mac_tx2_dfx_1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag2mac_vld_cnt_2 : 16; /* [15..0]  */
        unsigned int tx_afifo_rd_trig_2 : 5;  /* [20..16]  */
        unsigned int reserved_0 : 11;         /* [31..21]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag2mac_tx2_dfx_1;

/* Define the union u_tx2_afifo_dfx_0 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int tx_afifo_sop_cnt_2 : 16; /* [15..0]  */
        unsigned int tx_afifo_eop_cnt_2 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_tx2_afifo_dfx_0;

/* Define the union u_tx2_afifo_dfx_1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int tx_afifo_vld_cnt_2 : 16; /* [15..0]  */
        unsigned int cnt_afifo_w_cnt_2 : 16;  /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_tx2_afifo_dfx_1;

/* Define the union u_smag2mac_tx3_dfx_0 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag2mac_sop_cnt_3 : 16; /* [15..0]  */
        unsigned int smag2mac_eop_cnt_3 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag2mac_tx3_dfx_0;

/* Define the union u_smag2mac_tx3_dfx_1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag2mac_vld_cnt_3 : 16; /* [15..0]  */
        unsigned int tx_afifo_rd_trig_3 : 5;  /* [20..16]  */
        unsigned int reserved_0 : 11;         /* [31..21]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag2mac_tx3_dfx_1;

/* Define the union u_tx3_afifo_dfx_0 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int tx_afifo_sop_cnt_3 : 16; /* [15..0]  */
        unsigned int tx_afifo_eop_cnt_3 : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_tx3_afifo_dfx_0;

/* Define the union u_tx3_afifo_dfx_1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int tx_afifo_vld_cnt_3 : 16; /* [15..0]  */
        unsigned int cnt_afifo_w_cnt_3 : 16;  /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_tx3_afifo_dfx_1;

/* Define the union u_smag_xgem_fifo_af_th1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_send_fifo_af_th : 11; /* [10..0]  */
        unsigned int p1_send_fifo_af_th : 11; /* [21..11]  */
        unsigned int reserved_0 : 10;         /* [31..22]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_af_th1;

/* Define the union u_smag_xgem_fifo_af_th2 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p2_send_fifo_af_th : 11; /* [10..0]  */
        unsigned int p3_send_fifo_af_th : 11; /* [21..11]  */
        unsigned int reserved_0 : 10;         /* [31..22]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_af_th2;

/* Define the union u_smag_xgem_fifo_af_th3 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p4_send_fifo_af_th : 11; /* [10..0]  */
        unsigned int p5_send_fifo_af_th : 11; /* [21..11]  */
        unsigned int reserved_0 : 10;         /* [31..22]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_af_th3;

/* Define the union u_smag_xgem_fifo_af_th4 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p6_send_fifo_af_th : 11; /* [10..0]  */
        unsigned int p7_send_fifo_af_th : 11; /* [21..11]  */
        unsigned int reserved_0 : 10;         /* [31..22]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_af_th4;

/* Define the union u_smag_xgem_fifo_af_th5 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_rec_fifo_af_th : 13; /* [12..0]  */
        unsigned int p1_rec_fifo_af_th : 13; /* [25..13]  */
        unsigned int reserved_0 : 6;         /* [31..26]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_af_th5;

/* Define the union u_smag_xgem_fifo_af_th6 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p2_rec_fifo_af_th : 13; /* [12..0]  */
        unsigned int p3_rec_fifo_af_th : 13; /* [25..13]  */
        unsigned int reserved_0 : 6;         /* [31..26]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_af_th6;

/* Define the union u_smag_xgem_fifo_af_th7 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_rec_fifo_af_th_clr : 13; /* [12..0]  */
        unsigned int p1_rec_fifo_af_th_clr : 13; /* [25..13]  */
        unsigned int reserved_0 : 6;             /* [31..26]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_af_th7;

/* Define the union u_smag_xgem_fifo_af_th8 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p2_rec_fifo_af_th_clr : 13; /* [12..0]  */
        unsigned int p3_rec_fifo_af_th_clr : 13; /* [25..13]  */
        unsigned int reserved_0 : 6;             /* [31..26]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_af_th8;

/* Define the union u_smag_xgem_fifo_cnt1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_send_fifo_cnt : 12; /* [11..0]  */
        unsigned int p1_send_fifo_cnt : 12; /* [23..12]  */
        unsigned int reserved_0 : 8;        /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_cnt1;

/* Define the union u_smag_xgem_fifo_cnt2 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p2_send_fifo_cnt : 12; /* [11..0]  */
        unsigned int p3_send_fifo_cnt : 12; /* [23..12]  */
        unsigned int reserved_0 : 8;        /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_cnt2;

/* Define the union u_smag_xgem_fifo_cnt3 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p4_send_fifo_cnt : 12; /* [11..0]  */
        unsigned int p5_send_fifo_cnt : 12; /* [23..12]  */
        unsigned int reserved_0 : 8;        /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_cnt3;

/* Define the union u_smag_xgem_fifo_cnt4 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p6_send_fifo_cnt : 12; /* [11..0]  */
        unsigned int p7_send_fifo_cnt : 12; /* [23..12]  */
        unsigned int reserved_0 : 8;        /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_cnt4;

/* Define the union u_smag_xgem_fifo_cnt5 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_rec_fifo_cnt : 14; /* [13..0]  */
        unsigned int p1_rec_fifo_cnt : 14; /* [27..14]  */
        unsigned int reserved_0 : 4;       /* [31..28]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_cnt5;

/* Define the union u_smag_xgem_fifo_cnt6 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p2_rec_fifo_cnt : 14; /* [13..0]  */
        unsigned int p3_rec_fifo_cnt : 14; /* [27..14]  */
        unsigned int reserved_0 : 4;       /* [31..28]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_cnt6;

/* Define the union u_smag_xgem_fifo_cnt7 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p4_rec_fifo_cnt : 14; /* [13..0]  */
        unsigned int p5_rec_fifo_cnt : 14; /* [27..14]  */
        unsigned int reserved_0 : 4;       /* [31..28]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_cnt7;

/* Define the union u_smag_xgem_fifo_cnt8 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p6_rec_fifo_cnt : 14; /* [13..0]  */
        unsigned int p7_rec_fifo_cnt : 14; /* [27..14]  */
        unsigned int reserved_0 : 4;       /* [31..28]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_cnt8;

/* Define the union u_smag_xgem_fifo_status1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_send_fifo_empt : 1;  /* [0]  */
        unsigned int p0_send_fifo_full : 1;  /* [1]  */
        unsigned int p0_send_fifo_afull : 1; /* [2]  */
        unsigned int p0_send_fifo_of : 1;    /* [3]  */
        unsigned int p1_send_fifo_empt : 1;  /* [4]  */
        unsigned int p1_send_fifo_full : 1;  /* [5]  */
        unsigned int p1_send_fifo_afull : 1; /* [6]  */
        unsigned int p1_send_fifo_of : 1;    /* [7]  */
        unsigned int p2_send_fifo_empt : 1;  /* [8]  */
        unsigned int p2_send_fifo_full : 1;  /* [9]  */
        unsigned int p2_send_fifo_afull : 1; /* [10]  */
        unsigned int p2_send_fifo_of : 1;    /* [11]  */
        unsigned int p3_send_fifo_empt : 1;  /* [12]  */
        unsigned int p3_send_fifo_full : 1;  /* [13]  */
        unsigned int p3_send_fifo_afull : 1; /* [14]  */
        unsigned int p3_send_fifo_of : 1;    /* [15]  */
        unsigned int p4_send_fifo_empt : 1;  /* [16]  */
        unsigned int p4_send_fifo_full : 1;  /* [17]  */
        unsigned int p4_send_fifo_afull : 1; /* [18]  */
        unsigned int p4_send_fifo_of : 1;    /* [19]  */
        unsigned int p5_send_fifo_empt : 1;  /* [20]  */
        unsigned int p5_send_fifo_full : 1;  /* [21]  */
        unsigned int p5_send_fifo_afull : 1; /* [22]  */
        unsigned int p5_send_fifo_of : 1;    /* [23]  */
        unsigned int p6_send_fifo_empt : 1;  /* [24]  */
        unsigned int p6_send_fifo_full : 1;  /* [25]  */
        unsigned int p6_send_fifo_afull : 1; /* [26]  */
        unsigned int p6_send_fifo_of : 1;    /* [27]  */
        unsigned int p7_send_fifo_empt : 1;  /* [28]  */
        unsigned int p7_send_fifo_full : 1;  /* [29]  */
        unsigned int p7_send_fifo_afull : 1; /* [30]  */
        unsigned int p7_send_fifo_of : 1;    /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_status1;

/* Define the union u_smag_xgem_fifo_status2 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_rec_fifo_empt : 1;  /* [0]  */
        unsigned int p0_rec_fifo_full : 1;  /* [1]  */
        unsigned int p0_rec_fifo_afull : 1; /* [2]  */
        unsigned int p0_rec_fifo_of : 1;    /* [3]  */
        unsigned int p1_rec_fifo_empt : 1;  /* [4]  */
        unsigned int p1_rec_fifo_full : 1;  /* [5]  */
        unsigned int p1_rec_fifo_afull : 1; /* [6]  */
        unsigned int p1_rec_fifo_of : 1;    /* [7]  */
        unsigned int p2_rec_fifo_empt : 1;  /* [8]  */
        unsigned int p2_rec_fifo_full : 1;  /* [9]  */
        unsigned int p2_rec_fifo_afull : 1; /* [10]  */
        unsigned int p2_rec_fifo_of : 1;    /* [11]  */
        unsigned int p3_rec_fifo_empt : 1;  /* [12]  */
        unsigned int p3_rec_fifo_full : 1;  /* [13]  */
        unsigned int p3_rec_fifo_afull : 1; /* [14]  */
        unsigned int p3_rec_fifo_of : 1;    /* [15]  */
        unsigned int p4_rec_fifo_empt : 1;  /* [16]  */
        unsigned int p4_rec_fifo_full : 1;  /* [17]  */
        unsigned int p4_rec_fifo_afull : 1; /* [18]  */
        unsigned int p4_rec_fifo_of : 1;    /* [19]  */
        unsigned int p5_rec_fifo_empt : 1;  /* [20]  */
        unsigned int p5_rec_fifo_full : 1;  /* [21]  */
        unsigned int p5_rec_fifo_afull : 1; /* [22]  */
        unsigned int p5_rec_fifo_of : 1;    /* [23]  */
        unsigned int p6_rec_fifo_empt : 1;  /* [24]  */
        unsigned int p6_rec_fifo_full : 1;  /* [25]  */
        unsigned int p6_rec_fifo_afull : 1; /* [26]  */
        unsigned int p6_rec_fifo_of : 1;    /* [27]  */
        unsigned int p7_rec_fifo_empt : 1;  /* [28]  */
        unsigned int p7_rec_fifo_full : 1;  /* [29]  */
        unsigned int p7_rec_fifo_afull : 1; /* [30]  */
        unsigned int p7_rec_fifo_of : 1;    /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_status2;

/* Define the union u_smag_xgem_fifo_status3 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_rec_fifo_aempt : 1;  /* [0]  */
        unsigned int p0_rec_fifo_uf : 1;     /* [1]  */
        unsigned int p0_send_fifo_aempt : 1; /* [2]  */
        unsigned int p0_send_fifo_uf : 1;    /* [3]  */
        unsigned int p1_rec_fifo_aempt : 1;  /* [4]  */
        unsigned int p1_rec_fifo_uf : 1;     /* [5]  */
        unsigned int p1_send_fifo_aempt : 1; /* [6]  */
        unsigned int p1_send_fifo_uf : 1;    /* [7]  */
        unsigned int p2_rec_fifo_aempt : 1;  /* [8]  */
        unsigned int p2_rec_fifo_uf : 1;     /* [9]  */
        unsigned int p2_send_fifo_aempt : 1; /* [10]  */
        unsigned int p2_send_fifo_uf : 1;    /* [11]  */
        unsigned int p3_rec_fifo_aempt : 1;  /* [12]  */
        unsigned int p3_rec_fifo_uf : 1;     /* [13]  */
        unsigned int p3_send_fifo_aempt : 1; /* [14]  */
        unsigned int p3_send_fifo_uf : 1;    /* [15]  */
        unsigned int p4_rec_fifo_aempt : 1;  /* [16]  */
        unsigned int p4_rec_fifo_uf : 1;     /* [17]  */
        unsigned int p4_send_fifo_aempt : 1; /* [18]  */
        unsigned int p4_send_fifo_uf : 1;    /* [19]  */
        unsigned int p5_rec_fifo_aempt : 1;  /* [20]  */
        unsigned int p5_rec_fifo_uf : 1;     /* [21]  */
        unsigned int p5_send_fifo_aempt : 1; /* [22]  */
        unsigned int p5_send_fifo_uf : 1;    /* [23]  */
        unsigned int p6_rec_fifo_aempt : 1;  /* [24]  */
        unsigned int p6_rec_fifo_uf : 1;     /* [25]  */
        unsigned int p6_send_fifo_aempt : 1; /* [26]  */
        unsigned int p6_send_fifo_uf : 1;    /* [27]  */
        unsigned int p7_rec_fifo_aempt : 1;  /* [28]  */
        unsigned int p7_rec_fifo_uf : 1;     /* [29]  */
        unsigned int p7_send_fifo_aempt : 1; /* [30]  */
        unsigned int p7_send_fifo_uf : 1;    /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_fifo_status3;

/* Define the union u_smag_xgem_syn */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int clksmag_clk156_pos : 1; /* [0]  */
        unsigned int reserved_0 : 31;        /* [31..1]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_syn;

/* Define the union u_smag_xgem_ctl */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int xgem_tx_ifd : 8;        /* [7..0]  */
        unsigned int p0_tx_axis_aresetn : 1; /* [8]  */
        unsigned int p0_rx_axis_aresetn : 1; /* [9]  */
        unsigned int p1_tx_axis_aresetn : 1; /* [10]  */
        unsigned int p1_rx_axis_aresetn : 1; /* [11]  */
        unsigned int p2_tx_axis_aresetn : 1; /* [12]  */
        unsigned int p2_rx_axis_aresetn : 1; /* [13]  */
        unsigned int p3_tx_axis_aresetn : 1; /* [14]  */
        unsigned int p3_rx_axis_aresetn : 1; /* [15]  */
        unsigned int p4_tx_axis_aresetn : 1; /* [16]  */
        unsigned int p4_rx_axis_aresetn : 1; /* [17]  */
        unsigned int p5_tx_axis_aresetn : 1; /* [18]  */
        unsigned int p5_rx_axis_aresetn : 1; /* [19]  */
        unsigned int p6_tx_axis_aresetn : 1; /* [20]  */
        unsigned int p6_rx_axis_aresetn : 1; /* [21]  */
        unsigned int p7_tx_axis_aresetn : 1; /* [22]  */
        unsigned int p7_rx_axis_aresetn : 1; /* [23]  */
        unsigned int reserved_0 : 8;         /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_ctl;

/* Define the union u_smag_xgem_status2 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p4_pcspma_status : 8; /* [7..0]  */
        unsigned int p5_pcspma_status : 8; /* [15..8]  */
        unsigned int p6_pcspma_status : 8; /* [23..16]  */
        unsigned int p7_pcspma_status : 8; /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_status2;

/* Define the union u_smag_xgem_status1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_pcspma_status : 8; /* [7..0]  */
        unsigned int p1_pcspma_status : 8; /* [15..8]  */
        unsigned int p2_pcspma_status : 8; /* [23..16]  */
        unsigned int p3_pcspma_status : 8; /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_status1;

/* Define the union u_smag_xgem_status3 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_rx_tkeep_err : 1; /* [0]  */
        unsigned int p1_rx_tkeep_err : 1; /* [1]  */
        unsigned int p2_rx_tkeep_err : 1; /* [2]  */
        unsigned int p3_rx_tkeep_err : 1; /* [3]  */
        unsigned int p4_rx_tkeep_err : 1; /* [4]  */
        unsigned int p5_rx_tkeep_err : 1; /* [5]  */
        unsigned int p6_rx_tkeep_err : 1; /* [6]  */
        unsigned int p7_rx_tkeep_err : 1; /* [7]  */
        unsigned int reserved_0 : 24;     /* [31..8]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_status3;

/* Define the union u_smag_xgem_pause_tdata1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p0_pause_tdata : 16; /* [15..0]  */
        unsigned int p1_pause_tdata : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_pause_tdata1;

/* Define the union u_smag_xgem_pause_tdata2 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p2_pause_tdata : 16; /* [15..0]  */
        unsigned int p3_pause_tdata : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_pause_tdata2;

/* Define the union u_smag_xgem_pause_tdata3 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p4_pause_tdata : 16; /* [15..0]  */
        unsigned int p5_pause_tdata : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_pause_tdata3;

/* Define the union u_smag_xgem_pause_tdata4 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int p6_pause_tdata : 16; /* [15..0]  */
        unsigned int p7_pause_tdata : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_xgem_pause_tdata4;

/* Define the union u_smag_rxdp_fifo_status */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int rxdp_fifo_uf : 1;     /* [0]  */
        unsigned int rxdp_fifo_of : 1;     /* [1]  */
        unsigned int rxdp_fifo_cnt : 1;    /* [2]  */
        unsigned int rxdp_fifo_empty : 1;  /* [3]  */
        unsigned int rxdp_fifo_aempty : 1; /* [4]  */
        unsigned int rxdp_fifo_afull : 1;  /* [5]  */
        unsigned int rxdp_fifo_full : 1;   /* [6]  */
        unsigned int reserved_0 : 25;      /* [31..7]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_rxdp_fifo_status;

/* Define the union u_smag_dp_fifo_th1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p0_afull_th : 6;   /* [5..0]  */
        unsigned int txdp_p1_afull_th : 6;   /* [11..6]  */
        unsigned int txdp_p2_afull_th : 6;   /* [17..12]  */
        unsigned int txdp_p3_afull_th : 6;   /* [23..18]  */
        unsigned int rxdp_fifo_afull_th : 5; /* [28..24]  */
        unsigned int reserved_0 : 3;         /* [31..29]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_dp_fifo_th1;

/* Define the union u_smag_dp_fifo_th2 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p4_afull_th : 6; /* [5..0]  */
        unsigned int txdp_p5_afull_th : 6; /* [11..6]  */
        unsigned int txdp_p6_afull_th : 6; /* [17..12]  */
        unsigned int txdp_p7_afull_th : 6; /* [23..18]  */
        unsigned int reserved_0 : 8;       /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_dp_fifo_th2;

/* Define the union u_smag_txdp_fifo_status1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p0_uf : 1;     /* [0]  */
        unsigned int txdp_p0_of : 1;     /* [1]  */
        unsigned int txdp_p0_empty : 1;  /* [2]  */
        unsigned int txdp_p0_aempty : 1; /* [3]  */
        unsigned int txdp_p0_afull : 1;  /* [4]  */
        unsigned int txdp_p0_full : 1;   /* [5]  */
        unsigned int txdp_p1_uf : 1;     /* [6]  */
        unsigned int txdp_p1_of : 1;     /* [7]  */
        unsigned int txdp_p1_empty : 1;  /* [8]  */
        unsigned int txdp_p1_aempty : 1; /* [9]  */
        unsigned int txdp_p1_afull : 1;  /* [10]  */
        unsigned int txdp_p1_full : 1;   /* [11]  */
        unsigned int txdp_p2_uf : 1;     /* [12]  */
        unsigned int txdp_p2_of : 1;     /* [13]  */
        unsigned int txdp_p2_empty : 1;  /* [14]  */
        unsigned int txdp_p2_aempty : 1; /* [15]  */
        unsigned int txdp_p2_afull : 1;  /* [16]  */
        unsigned int txdp_p2_full : 1;   /* [17]  */
        unsigned int txdp_p3_uf : 1;     /* [18]  */
        unsigned int txdp_p3_of : 1;     /* [19]  */
        unsigned int txdp_p3_empty : 1;  /* [20]  */
        unsigned int txdp_p3_aempty : 1; /* [21]  */
        unsigned int txdp_p3_afull : 1;  /* [22]  */
        unsigned int txdp_p3_full : 1;   /* [23]  */
        unsigned int reserved_0 : 8;     /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_txdp_fifo_status1;

/* Define the union u_smag_txdp_fifo_status2 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p4_uf : 1;     /* [0]  */
        unsigned int txdp_p4_of : 1;     /* [1]  */
        unsigned int txdp_p4_empty : 1;  /* [2]  */
        unsigned int txdp_p4_aempty : 1; /* [3]  */
        unsigned int txdp_p4_afull : 1;  /* [4]  */
        unsigned int txdp_p4_full : 1;   /* [5]  */
        unsigned int txdp_p5_uf : 1;     /* [6]  */
        unsigned int txdp_p5_of : 1;     /* [7]  */
        unsigned int txdp_p5_empty : 1;  /* [8]  */
        unsigned int txdp_p5_aempty : 1; /* [9]  */
        unsigned int txdp_p5_afull : 1;  /* [10]  */
        unsigned int txdp_p5_full : 1;   /* [11]  */
        unsigned int txdp_p6_uf : 1;     /* [12]  */
        unsigned int txdp_p6_of : 1;     /* [13]  */
        unsigned int txdp_p6_empty : 1;  /* [14]  */
        unsigned int txdp_p6_aempty : 1; /* [15]  */
        unsigned int txdp_p6_afull : 1;  /* [16]  */
        unsigned int txdp_p6_full : 1;   /* [17]  */
        unsigned int txdp_p7_uf : 1;     /* [18]  */
        unsigned int txdp_p7_of : 1;     /* [19]  */
        unsigned int txdp_p7_empty : 1;  /* [20]  */
        unsigned int txdp_p7_aempty : 1; /* [21]  */
        unsigned int txdp_p7_afull : 1;  /* [22]  */
        unsigned int txdp_p7_full : 1;   /* [23]  */
        unsigned int reserved_0 : 8;     /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_txdp_fifo_status2;

/* Define the union u_smag_txdp_p0_err_cnt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p0_ck1_cnt : 13;    /* [12..0]  */
        unsigned int txdp_p0_ck1_cnt_clr : 1; /* [13]  */
        unsigned int txdp_p0_ck1_cnt_of : 1;  /* [14]  */
        unsigned int txdp_p0_ck2_cnt : 13;    /* [27..15]  */
        unsigned int txdp_p0_ck2_cnt_clr : 1; /* [28]  */
        unsigned int txdp_p0_ck2_cnt_of : 1;  /* [29]  */
        unsigned int txdp_p0_sop_eop_err : 1; /* [30]  */
        unsigned int reserved_0 : 1;          /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_txdp_p0_err_cnt;

/* Define the union u_smag_txdp_p1_err_cnt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p1_ck1_cnt : 13;    /* [12..0]  */
        unsigned int txdp_p1_ck1_cnt_clr : 1; /* [13]  */
        unsigned int txdp_p1_ck1_cnt_of : 1;  /* [14]  */
        unsigned int txdp_p1_ck2_cnt : 13;    /* [27..15]  */
        unsigned int txdp_p1_ck2_cnt_clr : 1; /* [28]  */
        unsigned int txdp_p1_ck2_cnt_of : 1;  /* [29]  */
        unsigned int txdp_p1_sop_eop_err : 1; /* [30]  */
        unsigned int reserved_0 : 1;          /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_txdp_p1_err_cnt;

/* Define the union u_smag_txdp_p2_err_cnt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p2_ck1_cnt : 13;    /* [12..0]  */
        unsigned int txdp_p2_ck1_cnt_clr : 1; /* [13]  */
        unsigned int txdp_p2_ck1_cnt_of : 1;  /* [14]  */
        unsigned int txdp_p2_ck2_cnt : 13;    /* [27..15]  */
        unsigned int txdp_p2_ck2_cnt_clr : 1; /* [28]  */
        unsigned int txdp_p2_ck2_cnt_of : 1;  /* [29]  */
        unsigned int txdp_p2_sop_eop_err : 1; /* [30]  */
        unsigned int reserved_0 : 1;          /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_txdp_p2_err_cnt;

/* Define the union u_smag_txdp_p3_err_cnt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p3_ck1_cnt : 13;    /* [12..0]  */
        unsigned int txdp_p3_ck1_cnt_clr : 1; /* [13]  */
        unsigned int txdp_p3_ck1_cnt_of : 1;  /* [14]  */
        unsigned int txdp_p3_ck2_cnt : 13;    /* [27..15]  */
        unsigned int txdp_p3_ck2_cnt_clr : 1; /* [28]  */
        unsigned int txdp_p3_ck2_cnt_of : 1;  /* [29]  */
        unsigned int txdp_p3_sop_eop_err : 1; /* [30]  */
        unsigned int reserved_0 : 1;          /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_txdp_p3_err_cnt;

/* Define the union u_smag_txdp_p4_err_cnt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p4_ck1_cnt : 13;    /* [12..0]  */
        unsigned int txdp_p4_ck1_cnt_clr : 1; /* [13]  */
        unsigned int txdp_p4_ck1_cnt_of : 1;  /* [14]  */
        unsigned int txdp_p4_ck2_cnt : 13;    /* [27..15]  */
        unsigned int txdp_p4_ck2_cnt_clr : 1; /* [28]  */
        unsigned int txdp_p4_ck2_cnt_of : 1;  /* [29]  */
        unsigned int txdp_p4_sop_eop_err : 1; /* [30]  */
        unsigned int reserved_0 : 1;          /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_txdp_p4_err_cnt;

/* Define the union u_smag_txdp_p5_err_cnt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p5_ck1_cnt : 13;    /* [12..0]  */
        unsigned int txdp_p5_ck1_cnt_clr : 1; /* [13]  */
        unsigned int txdp_p5_ck1_cnt_of : 1;  /* [14]  */
        unsigned int txdp_p5_ck2_cnt : 13;    /* [27..15]  */
        unsigned int txdp_p5_ck2_cnt_clr : 1; /* [28]  */
        unsigned int txdp_p5_ck2_cnt_of : 1;  /* [29]  */
        unsigned int txdp_p5_sop_eop_err : 1; /* [30]  */
        unsigned int reserved_0 : 1;          /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_txdp_p5_err_cnt;

/* Define the union u_smag_txdp_p6_err_cnt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p6_ck1_cnt : 13;    /* [12..0]  */
        unsigned int txdp_p6_ck1_cnt_clr : 1; /* [13]  */
        unsigned int txdp_p6_ck1_cnt_of : 1;  /* [14]  */
        unsigned int txdp_p6_ck2_cnt : 13;    /* [27..15]  */
        unsigned int txdp_p6_ck2_cnt_clr : 1; /* [28]  */
        unsigned int txdp_p6_ck2_cnt_of : 1;  /* [29]  */
        unsigned int txdp_p6_sop_eop_err : 1; /* [30]  */
        unsigned int reserved_0 : 1;          /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_txdp_p6_err_cnt;

/* Define the union u_smag_txdp_p7_err_cnt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p7_ck1_cnt : 13;    /* [12..0]  */
        unsigned int txdp_p7_ck1_cnt_clr : 1; /* [13]  */
        unsigned int txdp_p7_ck1_cnt_of : 1;  /* [14]  */
        unsigned int txdp_p7_ck2_cnt : 13;    /* [27..15]  */
        unsigned int txdp_p7_ck2_cnt_clr : 1; /* [28]  */
        unsigned int txdp_p7_ck2_cnt_of : 1;  /* [29]  */
        unsigned int txdp_p7_sop_eop_err : 1; /* [30]  */
        unsigned int reserved_0 : 1;          /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_txdp_p7_err_cnt;

/* Define the union u_smag_phy2lgc_remap_en */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int phy2lgc_remap_en : 1;          /* [0]  */
        unsigned int reserved_0 : 3;                /* [3..1]  */
        unsigned int fc_pause_en : 1;               /* [4]  */
        unsigned int reserved_1 : 3;                /* [7..5]  */
        unsigned int mag_mfs_sch_calendar_len : 4;  /* [11..8]  */
        unsigned int reserved_2 : 4;                /* [15..12]  */
        unsigned int mag_mfs_sch_calendar_cal : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_phy2lgc_remap_en;

/* Define the union u_smag_rx_cos_mode */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int rx_cos0_mode : 3; /* [2..0]  */
        unsigned int reserved_0 : 1;   /* [3]  */
        unsigned int rx_cos1_mode : 3; /* [6..4]  */
        unsigned int reserved_1 : 1;   /* [7]  */
        unsigned int rx_cos2_mode : 3; /* [10..8]  */
        unsigned int reserved_2 : 1;   /* [11]  */
        unsigned int rx_cos3_mode : 3; /* [14..12]  */
        unsigned int reserved_3 : 1;   /* [15]  */
        unsigned int rx_cos4_mode : 3; /* [18..16]  */
        unsigned int reserved_4 : 1;   /* [19]  */
        unsigned int rx_cos5_mode : 3; /* [22..20]  */
        unsigned int reserved_5 : 1;   /* [23]  */
        unsigned int rx_cos6_mode : 3; /* [26..24]  */
        unsigned int reserved_6 : 1;   /* [27]  */
        unsigned int rx_cos7_mode : 3; /* [30..28]  */
        unsigned int reserved_7 : 1;   /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_rx_cos_mode;

/* Define the union u_smag_tx_cos_mode */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int qu_cos0_mode : 3; /* [2..0]  */
        unsigned int reserved_0 : 1;   /* [3]  */
        unsigned int qu_cos1_mode : 3; /* [6..4]  */
        unsigned int reserved_1 : 1;   /* [7]  */
        unsigned int qu_cos2_mode : 3; /* [10..8]  */
        unsigned int reserved_2 : 1;   /* [11]  */
        unsigned int qu_cos3_mode : 3; /* [14..12]  */
        unsigned int reserved_3 : 1;   /* [15]  */
        unsigned int qu_cos4_mode : 3; /* [18..16]  */
        unsigned int reserved_4 : 1;   /* [19]  */
        unsigned int qu_cos5_mode : 3; /* [22..20]  */
        unsigned int reserved_5 : 1;   /* [23]  */
        unsigned int qu_cos6_mode : 3; /* [26..24]  */
        unsigned int reserved_6 : 1;   /* [27]  */
        unsigned int qu_cos7_mode : 3; /* [30..28]  */
        unsigned int reserved_7 : 1;   /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_tx_cos_mode;

/* Define the union u_smag_rx_debug */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int rx_afifo_ren_cnt : 16; /* [15..0]  */
        unsigned int mac2smag_vld_cnt : 16; /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_rx_debug;

/* Define the union u_smag_bp_history */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int qu_mag_rx_port_bp_history : 8; /* [7..0]  */
        unsigned int mag_pe_bp_history : 8;         /* [15..8]  */
        unsigned int ipsurx_mag_bp_history : 1;     /* [16]  */
        unsigned int reserved_0 : 3;                /* [19..17]  */
        unsigned int fc_pause_rcvd_history : 4;     /* [23..20]  */
        unsigned int rec_fifo_afull_history : 8;    /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_bp_history;

/* Define the union u_smag_rx_ok_pkt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int mac2smag_abort_pkt_cnt : 16; /* [15..0]  */
        unsigned int smag_rx_ok_pkt_cnt : 16;     /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_rx_ok_pkt;

/* Define the union u_smag_rx_drop_pkt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag_rx_abort_pkt_cnt : 16; /* [15..0]  */
        unsigned int smag_rx_drop_pkt_cnt : 16;  /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_rx_drop_pkt;

/* Define the union u_smag_ipsurx_ok_pkt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag_ipsurx_abort_pkt : 16; /* [15..0]  */
        unsigned int smag_ipsurx_ok_pkt : 16;    /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_ipsurx_ok_pkt;

/* Define the union u_pe_smag_ok_pkt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int pe_smag_abort_pkt : 16; /* [15..0]  */
        unsigned int pe_smag_ok_pkt : 16;    /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_pe_smag_ok_pkt;

/* Define the union u_smag_tx_ok_pkt */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag_tx_err_pkt : 16; /* [15..0]  */
        unsigned int smag_tx_ok_pkt : 16;  /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_tx_ok_pkt;

/* Define the union u_smag_txdp_fifo_cnt0 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p0_cnt : 7; /* [6..0]  */
        unsigned int reserved_0 : 1;  /* [7]  */
        unsigned int txdp_p1_cnt : 7; /* [14..8]  */
        unsigned int reserved_1 : 1;  /* [15]  */
        unsigned int txdp_p2_cnt : 7; /* [22..16]  */
        unsigned int reserved_2 : 1;  /* [23]  */
        unsigned int txdp_p3_cnt : 7; /* [30..24]  */
        unsigned int reserved_3 : 1;  /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_txdp_fifo_cnt0;

/* Define the union u_smag_txdp_fifo_cnt1 */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int txdp_p4_cnt : 7; /* [6..0]  */
        unsigned int reserved_0 : 1;  /* [7]  */
        unsigned int txdp_p5_cnt : 7; /* [14..8]  */
        unsigned int reserved_1 : 1;  /* [15]  */
        unsigned int txdp_p6_cnt : 7; /* [22..16]  */
        unsigned int reserved_2 : 1;  /* [23]  */
        unsigned int txdp_p7_cnt : 7; /* [30..24]  */
        unsigned int reserved_3 : 1;  /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_txdp_fifo_cnt1;

/* Define the union u_smag_bp_rtime */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int qu_mag_rx_port_bp : 8; /* [7..0]  */
        unsigned int mag_pe_bp : 8;         /* [15..8]  */
        unsigned int ipsurx_mag_bp : 1;     /* [16]  */
        unsigned int reserved_0 : 3;        /* [19..17]  */
        unsigned int fc_pause_rcvd : 4;     /* [23..20]  */
        unsigned int rec_fifo_afull : 8;    /* [31..24]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_bp_rtime;

/* Define the union u_smag_mfs_adp_cfg */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int mfs_adp_stat : 16; /* [15..0]  */
        unsigned int mfs_adp_cfg : 16;  /* [31..16]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_mfs_adp_cfg;

/* Define the union u_smag_ip_sel */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int smag_ip_sel : 3; /* [2..0]  */
        unsigned int reserved_0 : 29; /* [31..3]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_smag_ip_sel;

#endif /* C_UNION_DEFINE_SMAG_CFG_H */
